import scrapy
# 导入items定义的函数
from scrapy_movie.items import ScrapyMovieItem


class MvSpider(scrapy.Spider):
    name = "mv"
    allowed_domains = ["www.ygdy8.net"]
    start_urls = ["https://www.ygdy8.net/html/gndy/china/index.html"]

    def parse(self, response):
        # print("苍茫的天涯是我的爱")  测试是否反爬
        a_list = response.xpath('//div[@class="co_content8"]//td[2]//a[2]')

        for a in a_list:
            # 获取第一页的name和要点击的连接
            name = a.xpath('./text()').extract_first()
            href = a.xpath('./@href').extract_first()

            # 第二页的地址是-通过检查-鼠标移动到地址上就会显示完整的图片地址，主要记录前面相同的一部分
            url = 'https://www.ygdy8.net' + href

            # print(name, url)
            # 对第二页的链接发起访问
            yield scrapy.Request(url=url, callback=self.parse_second, meta={'name': name})

    # 获取第二页以及之后的资源
    def parse_second(self, response):
        # 如果拿不到数据 一是要检查xpath语法是否正确
        #  二是通过不同的路径获取地址
        src = response.xpath('//div[@id="Zoom"]//img/@src').extract_first()
        print(src)

        # 接受到请求的meta参数的值
        name = response.meta['name']

        movie = ScrapyMovieItem(src=src, name=name)

        # 将数据返回给管道
        yield movie
